ostree.git
11 years agostatic delta generation: Separate max chunk size from min fallback size
Alexander Larsson [Tue, 20 Jan 2015 13:11:47 +0000 (14:11 +0100)]
static delta generation: Separate max chunk size from min fallback size

There is no particular reason these have to be the same.

https://bugzilla.gnome.org/show_bug.cgi?id=721799

11 years agoadmin: Add set-origin command
Colin Walters [Fri, 16 Jan 2015 18:07:26 +0000 (13:07 -0500)]
admin: Add set-origin command

See projectatomic/rpm-ostree#42 for rationale. There are two high
level use cases:

 - If the OS comes unconfigured, this is a way to point it at a repo of your choice.
 - To switch between repositories while keeping the same branch easily.

11 years agosysroot: Add ostree_sysroot_write_origin_file() API
Colin Walters [Fri, 16 Jan 2015 18:04:29 +0000 (13:04 -0500)]
sysroot: Add ostree_sysroot_write_origin_file() API

We want to allow admins to change the origin file without doing a new
deployment, so this will be part of a future "admin set-origin"
command.

11 years agocmdline: (cleanup) Add internal helper to parse key=value options
Colin Walters [Fri, 16 Jan 2015 18:03:10 +0000 (13:03 -0500)]
cmdline: (cleanup) Add internal helper to parse key=value options

This will be used by a later "ostree admin set-origin" as well.

11 years agoadmin: (cleanup) Add internal API to find a deployment given an index
Colin Walters [Fri, 16 Jan 2015 17:57:39 +0000 (12:57 -0500)]
admin: (cleanup) Add internal API to find a deployment given an index

At some point, we might want to expose a uniform way to refer
to deployments by an index.  At the moment undeploy is the only
command that does.

I plan to introduce another command which optionally takes an index,
so prepare a helper function for this.

11 years agoeditor: honor arguments environment variable
Giuseppe Scrivano [Fri, 16 Jan 2015 10:48:50 +0000 (11:48 +0100)]
editor: honor arguments environment variable

My EDITOR looks like "EDITOR=emacs -nw", ensure that it is honored.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agostatic-delta: do not accept both --from=REV and --empty for generate
Giuseppe Scrivano [Wed, 14 Jan 2015 15:53:21 +0000 (16:53 +0100)]
static-delta: do not accept both --from=REV and --empty for generate

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agodoc: Manpage love for static-delta command
Matthew Barnes [Thu, 15 Jan 2015 20:49:49 +0000 (15:49 -0500)]
doc: Manpage love for static-delta command

11 years agodeltas: Use *at() for writes
Colin Walters [Thu, 15 Jan 2015 03:29:45 +0000 (22:29 -0500)]
deltas: Use *at() for writes

Yet another GFile* user goes away in a performance sensitive path.

11 years agopull: Delete processed delta parts
Colin Walters [Thu, 15 Jan 2015 03:18:00 +0000 (22:18 -0500)]
pull: Delete processed delta parts

Otherwise they stay around until a much later GC.

11 years agoChange OstreeFetcher to be dirfd-relative
Colin Walters [Thu, 15 Jan 2015 03:04:06 +0000 (22:04 -0500)]
Change OstreeFetcher to be dirfd-relative

This is a noticeable cleanup, and fixes another big user of GFile* in
performance/security sensitive codepaths.

I'm specifically making this change because the static deltas code was
leaking temporary files, and cleaning that up nicely would be best if
we were fd relative.

11 years agocore: Add an API to parse a content file using dirfd relative lookup
Colin Walters [Thu, 15 Jan 2015 03:03:02 +0000 (22:03 -0500)]
core: Add an API to parse a content file using dirfd relative lookup

This will be used for a later change to use openat() for the fetching
code.  Note that we drop the code to use mmap() - it was an attempt to
avoid keeping a fd open, but we do correctly close anyways.

11 years agochecksumutils: Support splicing stream to arbitrary checksum type
Colin Walters [Thu, 15 Jan 2015 03:01:54 +0000 (22:01 -0500)]
checksumutils: Support splicing stream to arbitrary checksum type

This will be used later by the metalink code; you can splice with a
NULL output stream to an arbitrary GChecksum instead of just a SHA256
one.

11 years agodeltas: (trivial) delete some debugging prints
Colin Walters [Wed, 14 Jan 2015 16:34:18 +0000 (11:34 -0500)]
deltas: (trivial) delete some debugging prints

They create too much noise.

11 years agoAllow creating and pulling static deltas starting from "empty"
Alexander Larsson [Tue, 13 Jan 2015 14:09:43 +0000 (15:09 +0100)]
Allow creating and pulling static deltas starting from "empty"

You create these with something like:
  ostree static-delta generate --empty --to=master

These will be automatically used during pull if no previous revision
exists in the target repo.

These work very much like the normal static deltas except they
are named just by the "to" revision. I.e:

deltas/94/f7d2dc23759dd21f9bd01e6705a8fdf98f90cad3e0109ba3f6c091c1a3774d

for a from-scratch to 94f7d2dc23759dd21f9bd01e6705a8fdf98f90cad3e0109ba3f6c091c1a3774d delta.

https://bugzilla.gnome.org/show_bug.cgi?id=721799

11 years agoFix ostree_repo_list_static_delta_names
Alexander Larsson [Tue, 13 Jan 2015 20:28:17 +0000 (21:28 +0100)]
Fix ostree_repo_list_static_delta_names

The current layout uses a prefix of two bytes as the initial dir
and a second directory inside that with the superblock. This
updates the list code to handle that.

https://bugzilla.gnome.org/show_bug.cgi?id=721799

11 years agodeltas: Do not traverse all objects, only both commits
Colin Walters [Wed, 14 Jan 2015 02:32:02 +0000 (21:32 -0500)]
deltas: Do not traverse all objects, only both commits

That's the way they were designed.  We really don't want to include
all intervening objects.

https://bugzilla.gnome.org/show_bug.cgi?id=721799

11 years agorepo: Fix bare-user file loads
Colin Walters [Mon, 12 Jan 2015 17:39:57 +0000 (12:39 -0500)]
repo: Fix bare-user file loads

Regression from 86764dbf007fca1e42aacb830e3c1911b198be6e

This function is kind of fiendish now that we have 3 cases, each of
which want to be optimized somewhat to only load what's necessary
(e.g. don't open the file if we don't have an output for stream
requested).

Clean things up so that BARE_USER and BARE are separate conditionals
that share as much as possible, and fix the bug that asserted we
were in BARE mode.

I tested this by running test-basic-user.sh by hand.

11 years agorepo: Deduplicate some code in load_file
Colin Walters [Mon, 12 Jan 2015 17:10:02 +0000 (12:10 -0500)]
repo: Deduplicate some code in load_file

11 years agoRelease 2015.2
Colin Walters [Thu, 8 Jan 2015 22:23:02 +0000 (17:23 -0500)]
Release 2015.2

11 years agoTwo 32 bit compilation fixes
Colin Walters [Thu, 8 Jan 2015 21:16:21 +0000 (16:16 -0500)]
Two 32 bit compilation fixes

11 years agorepo: Report metadata fetch progress separately
Matthew Barnes [Thu, 8 Jan 2015 19:43:01 +0000 (14:43 -0500)]
repo: Report metadata fetch progress separately

Partially resolves https://bugzilla.gnome.org/740276

11 years agopull: Prioritize fetching metadata objects over content objects
Matthew Barnes [Thu, 8 Jan 2015 19:11:12 +0000 (14:11 -0500)]
pull: Prioritize fetching metadata objects over content objects

11 years agofetcher: Add a priority value to async requests
Matthew Barnes [Thu, 8 Jan 2015 18:19:48 +0000 (13:19 -0500)]
fetcher: Add a priority value to async requests

11 years agoRelease 2015.1
Colin Walters [Thu, 8 Jan 2015 18:00:43 +0000 (13:00 -0500)]
Release 2015.1

11 years agoBump libgsystem dependency
Colin Walters [Thu, 8 Jan 2015 18:00:27 +0000 (13:00 -0500)]
Bump libgsystem dependency

11 years agocheckout: Add --fsync=false
Colin Walters [Tue, 6 Jan 2015 21:00:27 +0000 (16:00 -0500)]
checkout: Add --fsync=false

Some use cases for checkouts don't need to fsync during checkout.
Installer programs for example will just do a global fsync at the end.

In the future, the default "ostree admin" core could also be
rearchitected to only do a transaction commit right before reboot, and
do the fsync then.

https://bugzilla.gnome.org/show_bug.cgi?id=742482

11 years agoAdd internal ot_openat_read_stream() helper
Colin Walters [Wed, 7 Jan 2015 13:41:45 +0000 (08:41 -0500)]
Add internal ot_openat_read_stream() helper

We had two cases which were creating an input stream using openat().

11 years agoUse *at() functions for native filesystem commits
Colin Walters [Tue, 16 Dec 2014 03:23:37 +0000 (22:23 -0500)]
Use *at() functions for native filesystem commits

This is just an efficiency optimization.  We're getting fairly close
to all of the hot code paths using `*at()`.

Note that we end up maintaining a half-duplicate code path set here,
because we still need to support commits from an arbitrary GFile *,
which in a possible common case is an OSTree commit.

I think it's worth it though.

11 years agorefs: Use G_IO_ERROR_NOT_FOUND when a ref lookup fails
Colin Walters [Tue, 6 Jan 2015 23:47:04 +0000 (18:47 -0500)]
refs: Use G_IO_ERROR_NOT_FOUND when a ref lookup fails

rpm-ostree had code to check for this, which didn't actually work.

I don't see a no backwards compatibility concern in changing this, as
it's unlikely a caller would try to sensibly disambiguate FAILED.

11 years agorepo: Improve ostree_repo_load_file() to use `*at()` for xattrs
Colin Walters [Tue, 6 Jan 2015 21:47:03 +0000 (16:47 -0500)]
repo: Improve ostree_repo_load_file() to use `*at()` for xattrs

We were already using openat() for the contents, but not the xattrs.
Now that libgsystem 2014.3 has gs_fd_get_all_xattrs(), make use of it.

Clean things up a bit so we only open the fd once.

11 years agodeploy: Update to use latest libgsystem API
Colin Walters [Sat, 3 Jan 2015 17:03:36 +0000 (12:03 -0500)]
deploy: Update to use latest libgsystem API

11 years agodeploy: Actually copy xattrs of modified config files
Colin Walters [Sat, 3 Jan 2015 17:14:11 +0000 (12:14 -0500)]
deploy: Actually copy xattrs of modified config files

Regression from 7b01bd2e4333d4346dd08e0b5caf672f56b1ccfd
where we stopped using g_file_copy() - we lost copying xattrs.

This specifically breaks /etc/shadow SELinux labeling, with the
obvious bad consequences.

https://bugzilla.gnome.org/show_bug.cgi?id=742289

11 years agoRequire a PREFIX when deleting refs
Matthew Barnes [Tue, 6 Jan 2015 14:36:45 +0000 (09:36 -0500)]
Require a PREFIX when deleting refs

Also fix the "ostree refs" help output to not give the impression that
the --delete option takes its own PREFIX argument.

https://bugzilla.gnome.org/show_bug.cgi?id=742454

11 years agoPort to libgsystem errno API, hard depend on 2014.3
Colin Walters [Mon, 5 Jan 2015 02:17:11 +0000 (21:17 -0500)]
Port to libgsystem errno API, hard depend on 2014.3

This is long overdue to make it to libgsystem.  Update our dependency.

11 years agoMerge branch 'giuseppe/staticdeltas' of https://github.com/giuseppe/ostree
Colin Walters [Fri, 19 Dec 2014 21:31:31 +0000 (16:31 -0500)]
Merge branch 'giuseppe/staticdeltas' of https://github.com/giuseppe/ostree

11 years agoEnforce 'rdev' (device file major/minor) is 0
Colin Walters [Fri, 19 Dec 2014 01:10:25 +0000 (20:10 -0500)]
Enforce 'rdev' (device file major/minor) is 0

Historically OSTree supported device files, but it wasn't useful, and
added attack surface.  Support was removed in

https://git.gnome.org/browse/ostree/commit/?id=62a896350bd54bff5a9413d2ee0fad7ff4364f9a

Perform a further cleanup by enforcing internally that the device
major/minor must be 0.

Conflicts:
src/libostree/ostree-core.c

11 years agocore: Deduplicate code converting struct stat -> GFileInfo
Colin Walters [Wed, 17 Dec 2014 02:14:10 +0000 (21:14 -0500)]
core: Deduplicate code converting struct stat -> GFileInfo

We were doing the same thing in a number of places, make a helper
function.

11 years agoAdd ostree_repo_pull_default_console_progress_changed()
Matthew Barnes [Thu, 18 Dec 2014 15:06:47 +0000 (10:06 -0500)]
Add ostree_repo_pull_default_console_progress_changed()

Replaces ot_common_pull_progress() in ostree binary, so it can be shared
with rpm-ostree.

11 years agorepo: Minor cleanup: Move size generation code initialization
Colin Walters [Tue, 16 Dec 2014 03:55:56 +0000 (22:55 -0500)]
repo: Minor cleanup: Move size generation code initialization

It has a global effect, so do it in the entrypoint.

11 years agoRemove unused variable warning
Giuseppe Scrivano [Thu, 11 Dec 2014 09:41:52 +0000 (10:41 +0100)]
Remove unused variable warning

11 years agofix --help for static-delta
Giuseppe Scrivano [Thu, 30 Oct 2014 13:23:34 +0000 (14:23 +0100)]
fix --help for static-delta

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agotest-rollsum: Process all input, print more statistics
Colin Walters [Tue, 24 Jun 2014 11:58:13 +0000 (07:58 -0400)]
test-rollsum: Process all input, print more statistics

Copying the bup code, we need to loop over all chunks even after
hitting the rollsum returning 0.

Also print more statistics.

11 years agoStatic deltas support
Colin Walters [Sun, 9 Feb 2014 21:11:37 +0000 (16:11 -0500)]
Static deltas support

https://bugzilla.gnome.org/show_bug.cgi?id=721799

11 years agoRevert "ostree-repo-pull: Remove currently #if 0 static delta code"
Giuseppe Scrivano [Tue, 11 Nov 2014 09:36:37 +0000 (10:36 +0100)]
Revert "ostree-repo-pull: Remove currently #if 0 static delta code"

This reverts commit 1c2e20af25b21abc0dee1547a0d5bad1a21c0b58.

11 years agodoc: Update gtk-docs
Matthew Barnes [Thu, 18 Dec 2014 00:20:17 +0000 (19:20 -0500)]
doc: Update gtk-docs

11 years agoAdd "ostree remote list" command
Matthew Barnes [Tue, 16 Dec 2014 15:41:34 +0000 (10:41 -0500)]
Add "ostree remote list" command

Lists available remote names.

11 years agoAdd ostree_repo_remote_list()
Matthew Barnes [Tue, 16 Dec 2014 15:29:09 +0000 (10:29 -0500)]
Add ostree_repo_remote_list()

Lists available remote names.

11 years agoRelease 2014.13
Colin Walters [Wed, 17 Dec 2014 16:35:52 +0000 (11:35 -0500)]
Release 2014.13

11 years agobasic-test: Fixup mtime check for bare-user
Colin Walters [Wed, 17 Dec 2014 16:34:10 +0000 (11:34 -0500)]
basic-test: Fixup mtime check for bare-user

https://bugzilla.gnome.org/show_bug.cgi?id=741662

11 years agotests: Fix two bugs in tests revealed by new remote changes
Colin Walters [Wed, 17 Dec 2014 15:43:01 +0000 (10:43 -0500)]
tests: Fix two bugs in tests revealed by new remote changes

11 years agoAdd more flexible _remote_change() API , expose via 'ostree remote'
Colin Walters [Mon, 15 Dec 2014 21:21:15 +0000 (16:21 -0500)]
Add more flexible _remote_change() API , expose via 'ostree remote'

For Anaconda, I needed OSTREE_REPO_REMOTE_CHANGE_ADD_IF_NOT_EXISTS,
with the GFile *sysroot argument to avoid ugly hacks.  We want to
write the content provided via "ostreesetup" as a remote to the target
chroot only in the case where it isn't provided as part of the tree
content itself.

This is also potentially useful in idempotent systems management tools
like Ansible.

https://bugzilla.gnome.org/show_bug.cgi?id=741577

11 years agorepo: (cleanup) Use _is_system() rather than inlining it
Colin Walters [Mon, 15 Dec 2014 18:59:46 +0000 (13:59 -0500)]
repo: (cleanup) Use _is_system() rather than inlining it

No reason to duplicate the code.

11 years agoImprove "ostree remote" help output
Matthew Barnes [Thu, 4 Dec 2014 18:37:26 +0000 (13:37 -0500)]
Improve "ostree remote" help output

Must have glossed over these because the commands are so simple.

 - List subcommands for "ostree remote --help".

 - Only show options relevant to COMMAND for
   "ostree remote COMMAND --help".

11 years agotrivial-httpd: use PR_SET_PDEATHSIG by default
Colin Walters [Mon, 8 Dec 2014 19:44:44 +0000 (14:44 -0500)]
trivial-httpd: use PR_SET_PDEATHSIG by default

If we're not daemonizing, this is a useful way to ensure we go away if
our parent does.

https://bugzilla.gnome.org/show_bug.cgi?id=741264

11 years agotest-local-pull: Sort find output to make test robust
Alexander Larsson [Mon, 8 Dec 2014 19:26:58 +0000 (20:26 +0100)]
test-local-pull: Sort find output to make test robust

There is no guarantee that find will produce output in the same
order, so we need to sort the output to ensure we always
get the same output.

https://bugzilla.gnome.org/show_bug.cgi?id=741125

11 years agorepo: Add private functions to access remote options
Matthew Barnes [Thu, 4 Dec 2014 20:38:36 +0000 (15:38 -0500)]
repo: Add private functions to access remote options

ostree_repo_pull_with_options() needs this, and I'd rather keep the
OstreeRemote struct definition tucked away in ostree-repo.c with its
own internal API.

11 years agorepo: Add ostree_repo_remote_get_url()
Matthew Barnes [Thu, 4 Dec 2014 00:46:03 +0000 (19:46 -0500)]
repo: Add ostree_repo_remote_get_url()

Peeking at remote details by way of ostree_repo_copy_config() doesn't
work anymore.

11 years agorepo: Add an internal struct to manage remotes
Matthew Barnes [Wed, 3 Dec 2014 23:58:16 +0000 (18:58 -0500)]
repo: Add an internal struct to manage remotes

OstreeRemote is a reference-counted struct that encompasses data about a
remote, whether read from a configuration file or created explicitly via
ostree_repo_remote_add().

OstreeRemotes are held in an internal table indexed by remote name.
This solves some problems caused by merging system-wide remote data into
the OstreeRepo's internal config key file.

Also fixes https://bugzilla.gnome.org/show_bug.cgi?id=740911

11 years agolibotutil: Add ot_keyfile_copy_group()
Matthew Barnes [Wed, 3 Dec 2014 22:16:48 +0000 (17:16 -0500)]
libotutil: Add ot_keyfile_copy_group()

Copies all the keys of a group from one GKeyFile to another.

11 years agoAdd local-pull archive-z2 <=> bare-user roundtrip test
Alexander Larsson [Mon, 8 Dec 2014 11:00:59 +0000 (12:00 +0100)]
Add local-pull archive-z2 <=> bare-user roundtrip test

This creates a archive-z2 repo, pull-locals it to bare-user and then
again back to archive-z2 making sure things fsck along the way.
Then it checks out all repos and makes sure each one reproduces
the same result.

Unfortunately we can't install this as a real test because
it doesn't work in the test-runner because tmpfs doesn't support
user xattrs.

https://bugzilla.gnome.org/show_bug.cgi?id=741125

11 years agoAdd test-basic-user.sh testing for bare-user repos
Alexander Larsson [Fri, 5 Dec 2014 13:40:15 +0000 (14:40 +0100)]
Add test-basic-user.sh testing for bare-user repos

This just does whatever test-basic.sh does, but on a bare-user
repo.

This works standalone, but unfortunately it breaks in
gnome-desktop-testing-runner as /tmp doesn't support
xattrs, so it is not installed atm.

https://bugzilla.gnome.org/show_bug.cgi?id=741125

11 years agoSplit out basic tests from test-basic.sh
Alexander Larsson [Fri, 5 Dec 2014 13:28:16 +0000 (14:28 +0100)]
Split out basic tests from test-basic.sh

This will let us reuse them with other repo types

https://bugzilla.gnome.org/show_bug.cgi?id=741125

11 years agoSupport for "bare-user" repo format
Alexander Larsson [Thu, 4 Dec 2014 10:11:58 +0000 (11:11 +0100)]
Support for "bare-user" repo format

This format is pretty much the same as the "bare" format, except the
file ownership and xattrs is not stored in the actual filesystem object, but
rather on the side in a user xattr. This means two things:

1) An unprivileged user can store such a repo independent of the types
   of files in it or their xattrs. And you can later (as root)
   reconstruct the real filesystem tree with ownership. Although you
   can't do that using hardlink-sharing. This also means ostree
   fsck does a full verification.

2) Such a repository can be checked out with user-mode (checkout -U)
   as an unprivileged user using hardlinks for space sharing.

Additionally, symlinks are stored as regular files (with the content
being the symlink target) because user xattrs are not supported on
symlinks. We know at checkout time if the file is a symlink because
the original st_mode is stored in the xattr metadata.

https://bugzilla.gnome.org/show_bug.cgi?id=741125

11 years agoAdd ot_lgetxattrat and ot_lsetxattrat utils
Alexander Larsson [Wed, 3 Dec 2014 09:58:41 +0000 (10:58 +0100)]
Add ot_lgetxattrat and ot_lsetxattrat utils

These are implementation of the missing corresponding syscalls that
are done with the /proc/self/fd mechanism described at:

https://mail.gnome.org/archives/ostree-list/2014-February/msg00017.html

https://bugzilla.gnome.org/show_bug.cgi?id=741125

11 years agoREADME.md: Add a quick blurb on style
Colin Walters [Sun, 7 Dec 2014 22:19:42 +0000 (17:19 -0500)]
README.md: Add a quick blurb on style

11 years agounion checkout: Fix symlink handling for xattrs
Alexander Larsson [Fri, 5 Dec 2014 12:46:58 +0000 (13:46 +0100)]
union checkout: Fix symlink handling for xattrs

Applying xattrs on a symlink during checkout failed since
it was setting the xattrs on the final filename, not the
temporary name.

This made the "checkout union 1" test in test-basic.sh
fail.

https://bugzilla.gnome.org/show_bug.cgi?id=741125

11 years agocheckout: fchown symlink to proper uid/gid
Alexander Larsson [Thu, 4 Dec 2014 19:19:09 +0000 (20:19 +0100)]
checkout: fchown symlink to proper uid/gid

When commiting a symlink we do store the uid/gid of the actual
symlink (i.e. not target). However, this was not restored
on non-user-mode checkout as it should.

This commit fixes that, and additionally it ensures xattrs
on symlinks are not set in user-mode checkout.

https://bugzilla.gnome.org/show_bug.cgi?id=741125

11 years agodeploy: Ensure that we can deploy using only /usr/lib/ostree-boot
Colin Walters [Mon, 1 Dec 2014 03:50:02 +0000 (22:50 -0500)]
deploy: Ensure that we can deploy using only /usr/lib/ostree-boot

rpm-ostree at least has the option to generate a tree with just that
instead of /boot, but while we were enumerating the latter, we'd still
return paths from /boot.

https://bugzilla.gnome.org/show_bug.cgi?id=740947

11 years agodocs: Add verbose option to manual
Kenjiro Nakayama [Tue, 25 Nov 2014 13:25:15 +0000 (22:25 +0900)]
docs: Add verbose option to manual

11 years agoREADME.md: Mention patches and test suite
Colin Walters [Sun, 30 Nov 2014 18:23:06 +0000 (13:23 -0500)]
README.md: Mention patches and test suite

11 years agodocs: Fix a pile of Docbook validation errors
Colin Walters [Sat, 29 Nov 2014 17:15:21 +0000 (12:15 -0500)]
docs: Fix a pile of Docbook validation errors

At least now validates with RNG mode in Emacs.

11 years agoRelease 2014.12
Colin Walters [Wed, 26 Nov 2014 16:56:10 +0000 (11:56 -0500)]
Release 2014.12

11 years agotests: Fix u-boot test failure
Colin Walters [Tue, 25 Nov 2014 20:21:11 +0000 (15:21 -0500)]
tests: Fix u-boot test failure

This bit needs to be specific to syslinux.

11 years agotrivial: Fix typo in previous commit
Colin Walters [Tue, 25 Nov 2014 18:47:54 +0000 (13:47 -0500)]
trivial: Fix typo in previous commit

11 years agogrub2: If using --sysroot, run in chroot
Colin Walters [Fri, 21 Nov 2014 16:37:25 +0000 (11:37 -0500)]
grub2: If using --sysroot, run in chroot

In Anaconda, we're using "ostree admin --sysroot=/mnt/sysimage
instutil set-kargs", and it was working before, but newer versions of
lorax strip out /etc/system-release which grub2 wants.

That was wrong anyways as we want the /etc/system-release from the
target root.

(Man, grub2 sucks...give me a declarative config file format I can just
 write)

https://bugzilla.gnome.org/show_bug.cgi?id=740697

11 years agoRefactor command-line parsing
Matthew Barnes [Fri, 14 Nov 2014 19:00:13 +0000 (14:00 -0500)]
Refactor command-line parsing

Refactor command-line parsing to better utilize GOptionContext.  This
eliminates most of the manual parsing and global options are now shown
in the help output.

Here's a sample:

    $ ostree admin --help
    Usage:
      ostree admin [OPTION...] --print-current-dir|COMMAND

    Builtin "admin" Commands:
      cleanup
      config-diff
      deploy
      init-fs
      instutil
      os-init
      status
      switch
      undeploy
      upgrade

    Help Options:
      -h, --help         Show help options

    Application Options:
      --sysroot=PATH     Create a new OSTree sysroot at PATH
      -v, --verbose      Print debug information during command processing
      --version          Print version information and exit

https://bugzilla.gnome.org/show_bug.cgi?id=740295

11 years agoVarious manpage / usage blurb improvements
Matthew Barnes [Tue, 11 Nov 2014 02:28:43 +0000 (21:28 -0500)]
Various manpage / usage blurb improvements

Corrections, clarifications, consistency.

Not a comprehensive overhaul of the manpages; they do still need work.
These are just flaws I've noted while studying the ostree command syntax.

https://bugzilla.gnome.org/show_bug.cgi?id=740097

11 years agoostree-fetcher: move more logic into ostree_fetcher_request_uri_internal
Giuseppe Scrivano [Tue, 11 Nov 2014 10:24:43 +0000 (11:24 +0100)]
ostree-fetcher: move more logic into ostree_fetcher_request_uri_internal

Make _ostree_fetcher_request_uri_with_partial_async and
ostree_fetcher_stream_uri_async simple wrapper around the same
function, all the requests are created in the same place now.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoostree-fetcher: make _ostree_fetcher_stream_uri_sync private
Giuseppe Scrivano [Wed, 5 Nov 2014 08:48:12 +0000 (09:48 +0100)]
ostree-fetcher: make _ostree_fetcher_stream_uri_sync private

Rename _ostree_fetcher_contents_membuf_sync to
ostree_fetcher_request_uri_to_membuf and drop unused argument
user_data.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoostree-fetcher: Remove _ostree_fetcher_request_uri_to_stream function
Giuseppe Scrivano [Thu, 6 Nov 2014 13:57:25 +0000 (14:57 +0100)]
ostree-fetcher: Remove _ostree_fetcher_request_uri_to_stream function

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoostree-metalink: use _ostree_fetcher_contents_membuf_sync
Giuseppe Scrivano [Thu, 6 Nov 2014 12:37:30 +0000 (13:37 +0100)]
ostree-metalink: use _ostree_fetcher_contents_membuf_sync

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoostree-fetcher: add max_size argument to change _ostree_metalink_request_sync
Giuseppe Scrivano [Thu, 6 Nov 2014 13:53:52 +0000 (14:53 +0100)]
ostree-fetcher: add max_size argument to change _ostree_metalink_request_sync

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoostree-fetcher: remove two unused functions
Giuseppe Scrivano [Wed, 5 Nov 2014 10:48:10 +0000 (11:48 +0100)]
ostree-fetcher: remove two unused functions

_ostree_fetcher_query_state_text() and_ostree_fetcher_get_n_requests()
have no callers, so remove them.

If they will be needed, they can be easily copied back from the git
history.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agometalink: have a single entry to the metalink module
Giuseppe Scrivano [Tue, 4 Nov 2014 16:33:41 +0000 (17:33 +0100)]
metalink: have a single entry to the metalink module

Replace _ostree_metalink_request_async with a synchronous version.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoostree_fetcher: new function _ostree_fetcher_contents_membuf_sync
Giuseppe Scrivano [Mon, 3 Nov 2014 15:53:19 +0000 (16:53 +0100)]
ostree_fetcher: new function _ostree_fetcher_contents_membuf_sync

Move code from ostree-repo-pull.c

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agosyslinux: Adapt to bootloader UI changes
Matthew Barnes [Mon, 10 Nov 2014 00:54:37 +0000 (19:54 -0500)]
syslinux: Adapt to bootloader UI changes

This was a side-effect of the bootloader UI changes in bug 739416,
but should now be sufficiently future-proofed with code comments.

11 years agotests: fix intermittent failure for test-sysroot
Giuseppe Scrivano [Mon, 10 Nov 2014 18:48:45 +0000 (19:48 +0100)]
tests: fix intermittent failure for test-sysroot

libtestExec doesn't run twice the same process now.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoostree-repo-pull: Remove currently #if 0 static delta code
Giuseppe Scrivano [Tue, 4 Nov 2014 18:24:27 +0000 (19:24 +0100)]
ostree-repo-pull: Remove currently #if 0 static delta code

We can readd this in the static deltas work.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoadmin-test: Fix two typos in bootloader UI change
Colin Walters [Thu, 6 Nov 2014 23:17:52 +0000 (18:17 -0500)]
admin-test: Fix two typos in bootloader UI change

Based on a patch from Giuseppe Scrivano <gscrivan@redhat.com>

11 years agorepo: Remove unused remote-cache dir
Matthew Barnes [Thu, 6 Nov 2014 18:05:01 +0000 (13:05 -0500)]
repo: Remove unused remote-cache dir

Unused leftover from when ostree had pack files; minor cleanup.

https://bugzilla.gnome.org/show_bug.cgi?id=739746

11 years agoFix GFile leak in ostree_repo_constructed()
Matthew Barnes [Wed, 5 Nov 2014 20:39:48 +0000 (15:39 -0500)]
Fix GFile leak in ostree_repo_constructed()

11 years agobuild: Distribute grub2-15_ostree
Matthew Barnes [Tue, 4 Nov 2014 15:10:31 +0000 (10:10 -0500)]
build: Distribute grub2-15_ostree

11 years agocommit: Split out file processing into helper function
Colin Walters [Fri, 10 Oct 2014 17:35:05 +0000 (13:35 -0400)]
commit: Split out file processing into helper function

There should be no logic change here, just reducing indentation.

11 years agolibostree: Reformat bootloader titles
Matthew Barnes [Thu, 30 Oct 2014 17:44:26 +0000 (13:44 -0400)]
libostree: Reformat bootloader titles

Use the pattern:

  $PRETTY_NAME [$COMMIT_VERSION] (ostree[:$OSNAME][:$DEPLOYMENT_INDEX])

$OSNAME is only shown if there are multiple values.

$COMMIT_VERSION refers to the version tag in the commit's metadata.

$DEPLOYMENT_INDEX is only shown if no $COMMIT_VERSION is available.

https://bugzilla.gnome.org/show_bug.cgi?id=739416

11 years agoRelease 2014.11
Colin Walters [Thu, 30 Oct 2014 18:16:03 +0000 (14:16 -0400)]
Release 2014.11

11 years agodiff: Use gs_unref_object not gs_free on a GFile
Giuseppe Scrivano [Thu, 30 Oct 2014 10:05:47 +0000 (11:05 +0100)]
diff: Use gs_unref_object not gs_free on a GFile

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agopull: Fix a used before initialization warning
Giuseppe Scrivano [Thu, 30 Oct 2014 09:59:30 +0000 (10:59 +0100)]
pull: Fix a used before initialization warning

src/libostree/ostree-repo-pull.c:1676:22: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoostree-repo-pull: Fix inverted assert condition for maxdepth
Giuseppe Scrivano [Thu, 30 Oct 2014 09:58:50 +0000 (10:58 +0100)]
ostree-repo-pull: Fix inverted assert condition for maxdepth

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
11 years agoRelease 2014.10
Colin Walters [Wed, 29 Oct 2014 18:05:59 +0000 (14:05 -0400)]
Release 2014.10